Not Applicable
Not Applicable
Not Applicable
The present invention relates to methods of and systems for plotting data, and more particularly, to methods of and systems for efficiently plotting data in the form of N dimensional shmoo plots.
It is often necessary to characterize the performance of an electrical device with respect to functional parameters associated with the device. This characterization is sometimes referred to as parametric testing. One way to measure the performance of such a device is on a pass/fail basis. A complete parametric test could provide a pass/fail result for every possible combination of all values of the functional parameters in question. This type of test provides users of the device information as to how the device will perform over a broad range of conditions.
For example, a computer memory board designer could utilize data regarding how a dynamic random access memory (hereinafter referred to as DRAM) device performs with respect to various functional parameters, e.g., the supply voltage (VCC) into the device, and the device read/write cycle time (i.e., the amount of time it takes to write to and subsequently read from the DRAM). One way to characterize the performance of such a device is to apply a simple read/write test as follows: if a series of test patterns can be written and subsequently read from the device, then the device is deemed to have passed the performance test; otherwise, the device is deemed to have failed the performance test. Assume that the nominal supply voltage of the device is 3.0V and the nominal read/write cycle time is 10 nS. A parametric test may be arranged to evaluate the device performance as VCC varies from 2.2V to 3.7V in steps of 0.1V (a total of 16 discrete voltages), and as the read/write cycle time varies from 4.5 to 12 nS in steps of 0.5 nS (for a total of 16 discrete cycle times). Thus, the total number of individual performance tests that must be conducted to evaluate all possible combinations of VCC and read/write cycle time is 16xc3x9716=256. Each individual combination of test parameters is referred to herein as a test condition. FIG. 1 shows these 256 pass/fail results in what is known in the art as a xe2x80x98shmooxe2x80x99 (or alternatively, schmoo, smoo, shmu, schmu, etc.) plot. FIG. 1 is an example of a two dimensional shmoo plot, although in general, a shmoo plot may be N-dimensional, N being an integer greater than 1. Although the term xe2x80x98plotxe2x80x99 suggests a graphical depiction of the data (i.e., at most three dimensions), description the term xe2x80x98plotxe2x80x99 should be taken as a general representation of data in N-dimensional data space, memory space, etc. In the shmoo plot of FIG. 1, an array of 16 rows and 16 columns represents the 256 individual performance tests; each row represents one of the 16 cycle times, and each column represents one of the 16 VCC voltages. Thus, the array element in the ith row and jth column corresponds to the performance test Tij in which the ith cycle time and the jth VCC voltage are applied to the device. A darkened array element represents a failed test Tij, and a white array element represents a passed test Tij.
As FIG. 1 illustrates, a shmoo plot provides a clear, graphical indication of the performance envelope of a device. An observer can easily comprehend where the device performance transitions from passing to failing as the input parameters vary. However, a significant amount of time is required to perform the tests that form all of the individual array elements of the shmoo plot. In the simple FIG. 1 example, assuming that each individual test takes 100 xcexcS to perform, the entire shmoo plot will take 16xc3x9716xc3x97100 xcexcS=25.6 mS to complete. In a more realistic parametric test, each variable in the array might be swept over a range of 100 values, and each individual test could take on the order of a second to complete. A shmoo plot corresponding to such a parametric test would take 100xc3x97100xc3x971 S=2.78 hours to complete. If the parametric dimensional space increases from two to three (e.g., assume the device is to be further tested over a temperature range of 100 temperature values), the shmoo plot corresponding to such a parametric test would take 100xc3x97100xc3x97100xc3x971 S=11.6 days to complete. Thus, the amount of time to complete the shmoo plot increases directly with the amount of time per test, and exponentially with the order of the dimensional space.
It is an object of the present invention to substantially overcome the above-identified disadvantages and drawbacks of the prior art.
The foregoing and other objects are achieved by the invention which in one aspect comprises a method of generating a plot that evinces common result regions of a test as a function of at least one controllable input parameter, where each parameter has a predetermined range and a predetermined resolution. The method defines an overall plot region that is a function of a maximum and a minimum of each predetermined range. The method further subdivides the overall plot region into at least two sub-regions, each of the sub-regions having a sub-region boundary. The method evaluates, for each of the sub-regions, a plurality of boundary test conditions on the sub-region boundary according to the test, so as to assign a test status to each of the plurality of boundary test conditions. For each of the sub-regions with at least a predetermined threshold number of boundary test conditions having a common test status, the method designates that sub-region with the common test status. For each of the sub-regions not having at least the predetermined threshold number of boundary test conditions with a common test status, the method designates that sub-region with an indeterminate status.
In another embodiment of the invention, the method further including the step of recursively performing the subdividing step, the evaluating step and the designating step for each of the sub-regions designated with an unknown, indeterminate result status until all of the sub-regions are designated by a determinate test status.
In another embodiment of the invention, the evaluating step further includes the step of assigning either a pass test status or a fail test status to each of the plurality of boundary test conditions.
In another embodiment of the invention, the sub-region boundary includes a plurality of corner test conditions, and the plurality of boundary test conditions includes the corner test conditions.
In another embodiment of the invention, the predetermined threshold number of boundary test conditions includes all of the corner test conditions.
In another embodiment of the invention, the at least two sub-regions are substantially identical.
In another embodiment of the invention, the plot is an N-dimensional plot that corresponds to N controllable input parameters.
In another embodiment of the invention, the method further includes the step of searching for at least one discrepancy between (i) a test status of a test condition designated by the designating step, and (ii) a test status of the test condition according to the performance test.
In another embodiment of the invention, the method further includes the step of evaluating, via the performance test, those test conditions that have a test status designated by the designating step and are adjacent to a test condition having a test status assigned according to the performance test.
In another embodiment of the invention, the method further includes the step of reassigning the test condition according to the performance test.
In another aspect, the invention comprises a method of generating a shmoo plot as a function of a performance test and a plurality of parameters, each of the parameters having a predetermined parameter range and a predetermined parameter resolution. The method defines an overall shmoo plot region as a function of a maximum and a minimum of each predetermined parameter range. The method further subdivides the overall shmoo plot region into sub-regions, and evaluates each of a plurality of corner test conditions of each of the sub-regions according to the performance test, so as to assign a test status, including either a pass status or a fail status, to each of the corner test conditions depending upon a result of the performance test. For each of the sub-regions having all of the corner test conditions assigned a common status, the method further designates those sub-regions with the common status. For each of the sub-regions not having all of the corner test conditions assigned a status, the method repeats the subdividing, evaluating and designating steps until all of those sub-regions have been designated with the test status.
In another aspect, the invention comprises a method of generating an N dimensional shmoo plot as a function of a performance test and N parameters, each of the parameters having a predetermined parameter range and a predetermined parameter resolution. The method defines an overall shmoo plot region as a function of a maximum and a minimum of each predetermined parameter range. The method subdivides the overall shmoo plot region into 2N equal sub-regions, each the sub-region having 2N corner test conditions, and evaluates each of the 2N corner test conditions of each of the 2N sub-regions according to the performance test, so as to assign a test status, including either a pass status or a fail status, to each of the 22N corner test conditions depending upon a result of the performance test. For each of the 2N sub-regions having all of the 2N corner test conditions assigned a common status, the method designates the sub-region with the common status. For each of the 2N subregions not having all of the 2N corner test conditions assigned a status, the method repeats the subdividing, evaluating and designating steps until all of the sub-regions have been designated with the test status.
In another aspect, the invention comprises a computer system for generating a plot that evinces common result regions of a test as a function of at least one controllable input parameter, each of the at least one input parameter having a predetermined range and a predetermined resolution. The computer system includes a layout tool for defining an overall plot region being a function of a maximum and a minimum of each the predetermined range. The system further includes a delineator for subdividing the overall plot region into at least two sub-regions, each of the sub-regions having a sub-region boundary, and an evaluator for evaluating a plurality of boundary test conditions on the sub-region boundary according to the test, so as to assign a test status to each of the plurality of boundary test conditions. The computer system also includes a designator (i) for designating the sub-region with the common test status for each of the sub-regions with at least a predetermined threshold number of boundary test conditions having a common test status, and (ii) for designating the sub-region with an indeterminate status for each of the sub-regions not having at least the predetermined threshold number of boundary test conditions with a common test status.
In another embodiment, the delineator, the evaluator and the designator recursively subdivide, evaluate and designate, respectively, each of the sub-regions designated with an indeterminate result status until all of the sub-regions are designated by a test status.
In another embodiment of the invention, the evaluator assigns either a pass test status or a fail test status to each of the plurality of boundary test conditions.
In another embodiment of the invention, the sub-region boundary includes a plurality of corner test conditions, and the plurality of boundary test conditions includes the corner test conditions.
In another embodiment of the invention, the predetermined threshold number of boundary points includes all of the corner test conditions.